#pragma GCC optimize(2)
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <map>
#include <unordered_map>
#include <vector>
#include <set>
#include <queue>

using namespace std;
using LL = long long;
using PII = pair<int, int>;

const int N = 20;

int n;
string s[N];
int f[1 << 17][20];


int main(){
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    cin >> n;
    for(int i = 0; i < n; i ++) cin >> s[i];

    for(int i = (1 << n) - 1; i >= 1; i --){
        for(int j = 0; j < n; j ++){
            if(i >> j & 1){
                for(int k = 0; k < n; k ++){
                    if(i >> k & 1) continue;

                    int y = i | (1 << k);
                    if(s[j].back() == s[k][0] && f[y][k] == 0) f[i][j] = 1;
                }
            }
        }
    }

    bool ok = false;
    for(int i = 0; i < n; i ++){
        if(f[1 << i][i] == 0) ok = true;
    }

    if(ok) cout << "First" << '\n';
    else cout << "Second" << '\n';


    return 0;
}